You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Automated candidates via brew advisory-match --formula-list (planned workers) --new-history, sharded by formula (SHA-256 bucket 2b). See CONTRIBUTING.md for the review checklist.
Partial daily run: successful buckets only; the older standing PR may overlap.
We couldn't safely recover the incremental review. No full review was started, and the last reviewed checkpoint was preserved. Retry later, or explicitly request a full review by commenting @coderabbitai full review.
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
🔍 Trigger review
📝 Summary
Summary by CodeRabbit
Security Advisories
Added security advisories for vulnerabilities affecting aider, dnsviz, datalad, mcp-proxy, mistral-vibe and py7zr, with affected versions, severity details and upstream references.
Updated existing aider advisories with upstream identifiers and references, refreshed modification dates, and added CVSS v4 severity information where applicable.
Added further guidance on issues involving image processing, Git operations, authentication, redirects and schema validation, including affected-version details and upstream fix information where available.
This change updates existing aider advisory metadata and adds security advisory records for aider, mistral-vibe, datalad, dnsviz, mcp-proxy, and py7zr. The records include affected-version data, vulnerability descriptions, severity information, and upstream references.
The records receive updated modification timestamps, Pillow upstream identifiers, and additional references. The 111063 record also gains a CVSS v4 severity entry and an NVD reference.
The records describe reported GitPython vulnerabilities, including environment-variable expansion, regex backtracking, unsafe argument handling, file disclosure, symlink handling, and submodule-path behaviour. They include affected-version data, severity information, and upstream references.
The records describe reported Pillow vulnerabilities, including image parsing and decoding issues, resource exhaustion, memory impacts, and information disclosure. They include affected-version data, severity information, and upstream references.
The records describe reported local file disclosure and reflected XSS issues in LiteLLM. They include affected-version data, severity information, and upstream references.
The records cover reported GitPython, OpenTelemetry tracestate parsing, PyJWT JWK verification, and MCP SDK issues. They include affected-version data, severity information, and upstream references.
Add other package security advisories advisories/BREW-datalad-CVE-2026-114613.json, advisories/BREW-dnsviz-*.json, advisories/BREW-mcp-proxy-*.json, advisories/BREW-py7zr-CVE-2026-111497.json
The records document reported advisories for datalad, dnsviz, mcp-proxy, and py7zr, including affected versions, vulnerability details, severity information, and upstream references.
Priority: Normal
Merge Risk: Moderate · previous review 0924d
The datalad advisory presents an affected-version lower bound as certain when its own text says that bound is unresolved. The two aider LiteLLM advisories may flag an installation whose proxy code cannot run. Confirm both before merging, or accept the risk of inaccurate alerts. The remaining metadata updates and new advisory records are low risk.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title clearly identifies the main change: adding matched advisory candidates for shard 2b.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Description check
The pull request description clearly describes an automated advisory-candidate run, sharding, partial results, possible overlap, and review artefacts. These details match the advisory additions and up…
Full details: Description check
Explanation
The pull request description clearly describes an automated advisory-candidate run, sharding, partial results, possible overlap, and review artefacts. These details match the advisory additions and updates in the changeset.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
pwdprintf'%s\n''--- advisory path ---'iftest -f advisories/BREW-datalad-CVE-2026-114613.json;then
nl -ba advisories/BREW-datalad-CVE-2026-114613.json
else
git show 23cfbfe5808a654c6724019bb5373c1ff97d37b9:advisories/BREW-datalad-CVE-2026-114613.json
fi
Repository: Homebrew/advisory-database
Length of output: 6091
Web query:
Homebrew datalad formula history msgpack 0.14.0 1.6.5 CVE-2026-114613
Result:
<source_evidence>
<source kind="open_page">
<title>RadioCSIRT - BREW-DATALAD-CVE-2026-57585 - Vulnerability-Lookup</title>
<location>https://cve.radiocsirt.org/vuln/brew-datalad-cve-2026-57585</location>
<excerpt>citeturn2view0 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({"ref_id":"turn1search6","lineno":null}); Total lines: 642
L0: * 【0†KEV Catalogs】 【1†All catalogs】
L1:
L2: 【2†RadioCSIRT】 【3†CISA】 【4†CIRCL】 【5†ENISA】 【6†Shadowserver】 【7†Previdian】
L3: * 【0†Community】 【8†Sightings】 【9†Comments】 【10†Bundles】 【11†Organizations】 【12†Contributors】
L4:
L5: #####
L6:
L7: [Button: Cancel] [Button: OK]
L8:
L9: Success
L10:
L11: ##### Action not permitted
L12:
L13: Modal body text goes here.
L14:
L15: [Button: Close]
L16:
L17: ##### Modal Title
L18:
L19: Modal Body
L20:
L21: Source (Optional) [Input: Enter source]
L22:
L23: [Button: Cancel] [Button: Confirm]
L24: #### 【13†BREW-DATALAD-CVE-2026-57585】 (【14†GHSA-6V7P-G79W-8964】)
L25:
L26: Vulnerability from 【15†osv_homebrew】 – Published: 2026-08-13 16:42 – Updated: 2026-10-02 09:58 – 【16†Source website†github.com】
L27:
L28: Summary
L29:
L30: MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error
L31:
L32: Details
L33: ### Impact
L34:
L35: If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
L36:
L37: If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
L38:
L39: ### Patches
L40:
L41: v1.2.1
L42: ### Workarounds
L43:
L44: Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
L45:
L46: Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
L47:
L48: Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
L49:
L50: Severity
L51:
L52: 7.5 (High)
L53: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L54:
L55: References
L56:
L57: | URL | Type
L58: --- | --- | ---
L59: 【18†https://github.com/msgpack/msgpack-python/securit…†github.com】 WEB
L60: 【19†https://github.com/msgpack/msgpack-python/commit/…†github.com】 WEB
L61: 【20†https://github.com/msgpack/msgpack-python†github.com】 PACKAGE
L62: 【21†https://github.com/msgpack/msgpack-python/release…†github.com】 WEB
L63:
L64: JSON
L65:
L66: Share
L67: * 【22†Hacker News†news.ycombinator.com】
L68: * 【23†LinkedIn†www.linkedin.com】
L69: * 【24†Mastodon†mastodonshare.com】
L70: * 【25†Pinboard†api.pinboard.in】
L71: * 【26†Reddit†reddit.com】
L72: 【0†To clipboard】
L73:
L74: {
L75: "affected": [
L76: {
L77: "ecosystem_specific": {
L78: "fix": "bump",
L79: "range_state": "fixed",
L80: "resource": "msgpack",
L81: "resource_purl": "pkg:pypi/msgpack@1.2.3",
L82: "upstream_fixed_in": "1.2.1"
L83: },
L84: "package": {
L85: "ecosystem": "Homebrew",
L86: "name": "datalad",
L87: "purl": "pkg:brew/datalad"
L88: },
L89: "ranges": [
L90: {
L91: "events": [
L92: {
L93: "introduced": "0.14.0"
L94: },
L95: {
L96: "fixed": "1.6.0_1"
L97: }
L98: ],
L99: "type": "ECOSYSTEM"
L100: }
L101: ]
L102: }
L103: ],
L104: "database_specific": {
L105: "confidence": "high",
L106: "source": "matched",
L107: "strategy": "registry",
L108: "upstream_evidence": [
L109: {
L110: "ecosystem": "PyPI",
L111: "key": "pkg:pypi/msgpack@1.2.3",
L112: "name": "msgpack",
L113: "resource": "msgpack",
L114: "strategy": "registry",
L115: "subject_version": "1.2.3"
L116: }
L117: ]
L118: },
L119: "details": "### Impact\n\nIf the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.\n\nIf the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.\n\n### Patches\n\nv1.2.1\n\n### Workarounds\n\nUsers should create a new Unpacker instead of reusing the same Unpacker after an error occurs.\n\nApplying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data.
L120: If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.\n\nTherefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.",
L121: "id": "BREW-datalad-CVE-2026-57585",
L122: "modified": "2026-10-02T09:58:16Z",
L123: "published": "2026-08-13T16:42:09Z",
L124: "references": [
L125: {
L126: "type": "WEB",
L127: "url": "https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964"
L128: },
L129: {
L130: "type": "WEB",
L131: "url": "https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d"
L132: },
L133: {
L134: "type": "PACKAGE",
L135: "url": "https://github.com/msgpack/msgpack-python"
L136: },
L137: {
L138: "type": "WEB",
L139: "url": "https://github.com/msgpack/msgpack-python/releases/tag/v1.2.1"
L140: }
L141: ],
L142: "schema_version": "1.7.3",
L143: "severity": [
L144: {
L145: "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
L146: "type": "CVSS_V3"
L147: }
L148: ],
L149: "summary": "MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error",
L150: "upstream": [
L151: "GHSA-6v7p-g79w-8964",
L152: "CVE-2026-57585",
L153: "PYSEC-2026-3625"
L154: ]
L155: }
L156: #### 【27†CVE-2026-57585】 (【27†GCVE-0-2026-57585】)
L157:
L158: Vulnerability from 【28†cvelistv5】 – Published: 2026-06-30 21:36 – Updated: 2026-07-01 14:54
L159:
L160: EPSS VEX
L161:
L162: Title
L163:
L164: MessagePack: Out-of-bounds read/crash on Unpacker reuse after caught error
L165:
L166: Summary
L167: MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.1, there is an Out-of-bounds read/crash on Unpacker reuse after a caught error, potentially leading to a DoS attack. If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV. This issue has been fixed in version 1.2.1.
L168:
L169: Severity
L170:
L171: 7.5 (High)
L172:
L173: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L174:
L175: SSVC
L176:
L177: Exploitation: none Automatable: yes Technical Impact: partial
L178: CISA Coordinator · CISA-ADP (v2.0.3)
L179:
L180: Decision recorded 2026-07-01 14:54 UTC
L181:
L182: CWE
L183:
L184: * 【29†CWE-416】 - Use After Free
L185:
L186: Assigner
L187:
L188: 【30†GitHub_M】 【31†mitre root】 【32†Scorecard】
L189:
L190: References
L191:
L192: 2 references
L193:
L194: URL | Tags
L195: --- | ---
L196: 【18†https://github.com/msgpack/msgpack-python/securit…†github.com】 | x_refsource_CONFIRM
L197: 【19†https://github.com/msgpack/msgpack-python/commit/…†github.com】 | x_refsource_MISC
L198:
L199: Impacted products
L200:
L201: 1 product
L202: Vendor | Product | Version |
L203: --- | --- | --- | ---
L204: 【33†msgpack】 | 【34†msgpack-python】 | Affected: < 1.2.1
L205: |
L206:
L207: 【35†Show details on NVD website†nvd.nist.gov】
L208:
L209: JSON
L210:
L211: Share
L212:
L213: * 【36†Hacker News†news.ycombinator.com】
L214: * 【37†LinkedIn†www.linkedin.com】
L215: * 【38†Mastodon†mastodonshare.com】
L216: * 【39†Pinboard†api.pinboard.in】
L217: * 【40†Reddit†reddit.com】
L218: 【0†To clipboard】
L219:
L220: {
L221: "containers": {
L222: "adp": [
L223: {
L224: "metrics": [
L225: {
L226: "other": {
L227: "content": {
L228: "id": "CVE-2026-57585",
L229: "options": [
L230: {
L231: "Exploitation": "none"
L232: },
L233: {
L234: "Automatable": "yes"
L235: },
L236: {
L237: "Technical Impact": "partial"
L238: }
L239: ],
L240: "role": "CISA Coordinator",
L241: "timestamp": "2026-07-01T14:54:21.105642Z",
L242: "version": "2.0.3"
L243: },
L244: "type": "ssvc"
L245: }
L246: }
L247: ],
L248: "providerMetadata": {
L249: "dateUpdated": "2026-07-01T14:54:36.191Z",
L250: "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
L251: "shortName": "CISA-ADP"
L252: },
L253: "title": "CISA ADP Vulnrichment"
L254: }
L255: ],
L256: "cna": {
L257: "affected": [
L258: {
L259: "product": "msgpack-python",
L260: "vendor": "msgpack",
L261: "versions": [
L262: {
L263: "status": "affected",
L264: "version": "\u003c 1.2.1"
L265: }
L266: ]
L267: }
L268: ],
L269: "descriptions": [
L270: {
L289: "version": "3.1"
L290: }
L291: }
L292: ],
L293: "problemTypes": [
L294: {
L295: "descriptions": [
L296: {
L297: "cweId": "CWE-416",
L298: "description": "CWE-416: Use After Free",
L299: "lang": "en",
L300: "type": "CWE"
L301: }
L302: ]
L303: }
L304: ],
L305: "providerMetadata": {
L306: "dateUpdated": "2026-06-30T21:36:23.418Z",
L307: "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
L308: "shortName": "GitHub_M"
L309: },
L310: "references": [
L311: {
L312: "name": "https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964",
L313: "tags": [
L314: "x_refsource_CONFIRM"
L315: ],
L316: "url": "https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964"
L317: },
L318: {
L319: "name": "https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d",
L320: "tags": [
L321: "x_refsource_MISC"
L322: ],
L323: "url": "https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d"
L324: }
L325: ],
L326: "source": {
L327: "advisory": "GHSA-6v7p-g79w-8964",
L328: "discovery": "UNKNOWN"
L329: },
L330: "title": "MessagePack: Out-of-bounds read/crash on Unpacker reuse after caught error"
L331: }
L332: },
L333: "cveMetadata": {
L334: "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
L335: "assignerShortName": "GitHub_M",
L336: "cveId": "CVE-2026-57585",
L337: "datePublished": "2026-06-30T21:36:23.418Z",
L338: "dateReserved": "2026-06-24T18:49:56.209Z",
L339: "dateUpdated": "2026-07-01T14:54:36.191Z",
L340: "state": "PUBLISHED"
L341: },
L342: "dataType": "CVE_RECORD",
L343: "dataVersion": "5.2"
L344: }
L345: #### 【41†GHSA-6V7P-G79W-8964】
L346:
L347: Vulnerability from 【42†github】 – Published: 2026-06-19 21:42 – Updated: 2026-06-19 21:42
L348:
L349: Summary
L350:
L351: MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error
L352:
L353: Details
L354:
L355: ### Impact
L356:
L357: If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
L358:
L359: If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
L360:
L361: ### Patches
L362:
L363: v1.2.1
L364: ### Workarounds
L365:
L366: Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
L367:
L368: Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
L369:
L370: Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
L371:
L372: Severity
L373:
L374: 7.5 (High)
L375: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L376:
L377: 【43†Show details on source website†github.com】
L378:
L379: JSON
L380:
L381: Share
L382:
L383: * 【44†Hacker News†news.ycombinator.com】
L384: * 【45†LinkedIn†www.linkedin.com】
L385: * 【46†Mastodon†mastodonshare.com】
L386: * 【47†Pinboard†api.pinboard.in】
L387: * 【48†Reddit†reddit.com】
L388: 【0†To clipboard】
L389:
L390: {
L391: "affected": [
L392: {
L393: "database_specific": {
L394: "last_known_affected_version_range": "\u003c= 1.2.0"
L395: },
L396: "package": {
L397: "ecosystem": "PyPI",
L398: "name": "msgpack"
L399: },
L400: "ranges": [
L401: {
L402: "events": [
L403: {
L404: "introduced": "0"
L405: },
L406: {
L407: "fixed": "1.2.1"
L408: }
L409: ],
L410: "type": "ECOSYSTEM"
L425: "details": "### Impact\n\nIf the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.\n\nIf the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.\n\n### Patches\n\nv1.2.1\n\n### Workarounds\n\nUsers should create a new Unpacker instead of reusing the same Unpacker after an error occurs.\n\nApplying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data.
L426: If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.\n\nTherefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.",
L427: "id": "GHSA-6v7p-g79w-8964",
L428: "modified": "2026-06-19T21:42:55Z",
L429: "published": "2026-06-19T21:42:55Z",
L430: "references": [
L431: {
L432: "type": "WEB",
L433: "url": "https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964"
L434: },
L435: {
L436: "type": "WEB",
L437: "url": "https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d"
L438: },
L439: {
L440: "type": "PACKAGE",
L441: "url": "https://github.com/msgpack/msgpack-python"
L442: },
L443: {
L444: "type": "WEB",
L445: "url": "https://github.com/msgpack/msgpack-python/releases/tag/v1.2.1"
L446: }
L447: ],
L448: "schema_version": "1.4.0",
L449: "severity": [
L450: {
L451: "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
L452: "type": "CVSS_V3"
L453: }
L454: ],
L455: "summary": "MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error"
L456: }
L457: #### 【49†PYSEC-2026-3625】
L458:
L459: Vulnerability from 【50†pysec】 - Published: 2026-06-30 22:16 - Updated: 2026-08-07 09:08
L460:
L461: Details
L462:
L463: MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.1, there is an Out-of-bounds read/crash on Unpacker reuse after a caught error, potentially leading to a DoS attack. If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV. This issue has been fixed in version 1.2.1.
L464:
L465: Severity
L466:
L467: 7.5 (High)
L468: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L469:
L470: Impacted products
L471:
L472: Name | purl
L473: --- | ---
L474: msgpack | pkg:pypi/msgpack
L475:
L476: Aliases
L477:
L478: * 【51†CVE-2026-57585】
L479: * 【14†GHSA-6v7p-g79w-8964】
L480:
L481: JSON
L482:
L483: Share
L484:
L485: * 【52†Hacker News†news.ycombinator.com】
L486: * 【53†LinkedIn†www.linkedin.com】
L487: * 【54†Mastodon†mastodonshare.com】
L488: * 【55†Pinboard†api.pinboard.in】
L489: * 【56†Reddit†reddit.com】
L490: 【0†To clipboard】
L491:
L492: {
L493: "affected": [
L494: {
L495: "ecosystem_specific": {},
L496: "package": {
L497: "ecosystem": "PyPI",
L498: "name": "msgpack",
L499: "purl": "pkg:pypi/msgpack"
L500: },
L501: "ranges": [
L502: {
L503: "events": [
L504: {
L505: "introduced": "0"
L506: },
L507: {
L508: "fixed": "1.2.1"
L509: }
L510: ],
L511: "type": "ECOSYSTEM"
L512: }
L513: ],
L514: "versions": [
L515: "0.5.0",
L516: "0.5.1",
L517: "0.5.2",
L518: "0.5.3",
L519: "0.5.4",
L520: "0.5.5",
L521: "0.5.6",
L522: "0.6.0",
L523: "0.6.1",
L524: "0.6.2",
L525: "1.0.0",
L526: "1.0.0rc1",
L527: "1.0.1",
L528: "1.0.2",
L529: "1.0.3",
L530: "1.0.3rc1",
L531: "1.0.4",
L532: "1.0.4rc1",
L533: "1.0.5",
L534: "1.0.5rc1",
L535: "1.0.6",
L536: "1.0.6rc1",
L537: "1.0.7",
L538: "1.0.8",
L539: "1.1.0",
L540: "1.1.0rc1",
L541: "1.1.0rc2",
L542: "1.1.1",
L543: "1.1.1rc1",
L544: "1.1.2",
L545: "1.2.0",
L546: "1.2.0rc1"
L547: ]
L548: }
L549: ],
L550: "aliases": [
L551: …[truncated]</excerpt>
</source>
<source kind="open_page">
<title>Homebrew Formulae: datalad</title>
<location>https://formulae.brew.sh/formula/datalad</location>
<excerpt>citeturn2view1 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({"ref_id":"turn0search0","lineno":null}); Total lines: 51
L0: 【0†Image: Homebrew Formulae logo†brew.sh】
L1:
L2: # 【1†Homebrew Formulae】
L3: ## datalad
L4:
L5: Install command:
L6:
L7: `brew install datalad`
L8:
L9: Data distribution geared toward scientific datasets
L10:
L11: 【2†https://www.datalad.org†www.datalad.org】
L12:
L13: License: MIT
L14:
L15: Development: 【3†Pull requests†github.com】
L16:
L17: Formula JSON API: 【4†`/api/formula/datalad.json`】
L18:
L19: Formula code: 【5†`datalad.rb`†github.com】 on GitHub
L20:
L21: Bottle (binary package) installation support provided for:
L22:
L23: macOS on
L24: Apple Silicon | golden gate | ✅
L25: tahoe | ✅
L26: sequoia | ✅
L27: Linux | ARM64 | ✅
L28: x86_64 | ✅
L29:
L30: Current versions:
L31: stable | ✅ | 1.7.1
L32: head | ⚡️ | HEAD
L33:
L34: Depends on:
L35:
L36: 【6†certifi】 | 2026.10.23 | Mozilla CA bundle for Python
L37: 【7†cryptography】 | 50.0.2 | Cryptographic recipes and primitives for Python
L38: 【8†git-annex】 | 10.20261026 | Manage files with git without checking in file contents
L39: 【9†p7zip】 | 17.06 | 7-Zip (high compression file archiver) implementation
L40: 【10†python@3.15】 | 3.15.2 | Interpreted, interactive, object-oriented programming language
L41: Binaries: `datalad`, `git-annex-remote-datalad`, `git-annex-remote-datalad-archives`, `git-annex-remote-ora`, `git-annex-remote-ria`, `git-credential-datalad`
L42:
L43: Analytics:
L44:
L45: | 30 days | 90 days | 365 days
L46: Installs | 76 | 190 | 1,074
L47: Installs (`--HEAD`) | 0 | 0 | 2
L48: Installs on Request | 76 | 190 | 1,074
L49: Installs on Request (`--HEAD`) | 0 | 0 | 2
L50: Build Errors | 0 | |
</excerpt>
</source>
<source kind="open_page">
<title>CVE-2026-114613</title>
<location>https://security-tracker.debian.org/tracker/CVE-2026-114613</location>
<excerpt>citeturn2view2 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({"ref_id":"turn0search1","lineno":null}); Total lines: 31
L0: # CVE-2026-114613
L1: Name | CVE-2026-114613
L2: Description | MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected.
L3: The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.
L4: Source | 【0†CVE†www.cve.org】 (at 【1†NVD†nvd.nist.gov】; 【2†CERT†www.kb.cert.org】, 【3†ENISA†euvd.enisa.europa.eu】, 【4†LWN†lwn.net】, 【5†oss-sec†marc.info】, 【6†fulldisc†marc.info】, 【7†Debian ELTS†deb.freexian.com】, 【8†Red Hat†bugzilla.redhat.com】, 【9†Ubuntu†ubuntu.com】, 【10†Gentoo†bugs.gentoo.org】, SUSE 【11†bugzilla†bugzilla.suse.com】/【12†CVE†www.suse.com】, GitHub 【13†advisories†github.com】/【14†code†github.com】/【15†issues†github.com】, 【16†web search†duckduckgo.com】, 【17†more†oss-security.openwall.org】)
L5: Debian Bugs | 【18†1151844†bugs.debian.org】
L6: ## Vulnerable and fixed packages
L7:
L8: The table below lists information on source packages.
L9:
L10: Source Package | Release | Version | Status
L11: --- | --- | --- | ---
L12: 【19†python-msgpack】 (【20†PTS†tracker.debian.org】) | bookworm | 1.0.3-2 | vulnerable
L13: | trixie | 1.0.3-3 | vulnerable
L14: | forky | 1.2.1-1 | vulnerable
L15: | sid | 1.2.1-3 | fixed
L16:
L17: The information below is based on the following data on fixed versions.
L18: Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs
L19: --- | --- | --- | --- | --- | --- | ---
L20: 【19†python-msgpack】 | source | (unstable) | 1.2.1-2 | | | 【18†1151844†bugs.debian.org】
</excerpt>
</source>
<source kind="search">
<title>Homebrew Formulae: datalad</title>
<location>https://formulae.brew.sh/formula/datalad</location>
<excerpt>citeturn0search0 [wordlim: 200] Crawled: 3 weeks ago; # Homebrew Formulae ... Formula JSON API: `/api/formula/datalad.json`
Formula code: `datalad.rb` on GitHub ... stable | ✅ | 1.6.5 ... python@3.14 | 3.14.8 | Interpreted, interactive, object-oriented programming language
# Homebrew Formulae
## datalad
Install command:
`brew install datalad`
Data distribution geared toward scientific datasets
https://www.datalad.org
License: MIT
Development: Pull requests
Formula JSON API: `/api/formula/datalad.json`
Formula code: `datalad.rb` on GitHub
Bottle (binary package) installation support provided for:
macOS on
Apple Silicon | golden gate | ✅
tahoe | ✅
sequoia | ✅
Linux | ARM64 | ✅
x86_64 | ✅
Current versions:
stable | ✅ | 1.6.5
head | ⚡️ | HEAD
Depends on:
certifi | 2026.7.22 | Mozilla CA bundle for Python
cryptography | 50.0.2 | Cryptographic recipes and primitives for Python
git-annex | 10.20260901 | Manage files with git without checking in file contents
p7zip | 17.06 | 7-Zip (high compression file archiver) implementation
python@3.14 | 3.14.8 | Interpreted, interactive, object-oriented programming language
Binaries: `datalad`, `git-annex-remote-datalad`, `git-annex-remote-datalad-archives`, `git-annex-remote-ora`, `git-annex-remote-ria`, `git-credential-datalad`
Analytics:
| 30 days | 90 days | 365 days
Installs | 46 | 188 | 1,106
Installs (`--HEAD`) | 0 | 0 | 2
Installs on Request | 46 | 188 | 1,106
Installs on Request (`--HEAD`) | 0 | 0 | 2
Build Errors | 0 | | </excerpt>
</source>
<source kind="search">
<title>CVE-2026-114613</title>
<location>https://security-tracker.debian.org/tracker/CVE-2026-114613</location>
<excerpt>citeturn0search1 [wordlim: 200] Crawled: 4 days ago; # CVE-2026-114613 ... Description | MessagePack is the serializer implementation for Python msgpack.org.
# CVE-2026-114613
Name | CVE-2026-114613
Description | MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected. The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.
Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
## Vulnerable and fixed packages
The table below lists information on source packages.
Source Package | Release | Version | Status
--- | --- | --- | ---
python-msgpack (PTS) | bookworm | 1.0.3-2 | vulnerable
| trixie | 1.0.3-3 | vulnerable
| forky, sid | 1.2.1-1 | vulnerable
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs
--- | --- | --- | --- | --- | --- | ---
python-msgpack | source | (unstable) | (unfixed) | | |
## Notes
https://github.com/msgpack/msgpack-python/security/advisories/GHSA-j586-36cw-2gc2
Fixed by: https://github.com/msgpack/msgpack-python/commit/620b0eb4c89cd72d4098564537624d9dbb2ce141 (v1.2.3)</excerpt>
</source>
<omitted_sources count="42">Additional source records were omitted from this bounded result.</omitted_sources>
</source_evidence>
Citations:
- 1: https://formulae.brew.sh/formula/datalad
- 2: https://security-tracker.debian.org/tracker/CVE-2026-114613
- 3: https://cve.radiocsirt.org/vuln/brew-datalad-cve-2026-57585
Verify the lower affected-version boundary before publication.
The record presents 0.14.0 as a definitive lower boundary with confidence set to high. Its details state that the earliest affected msgpack release is unresolved. Trace the historical datalad resource versions and either use a boundary supported by that history or defer this candidate.
"summary": "setuptools: Windows path escape via namespace_packages.txt during legacy wheel installation Description",
"details": "### Summary\n\nOn Windows, attacker-controlled content in a wheel's\n`.dist-info/namespace_packages.txt` can cause setuptools' legacy wheel\ninstallation path to create an `__init__.py` outside the requested\n`destination_eggdir`.\n\nThe attacker can influence the destination path, but not the contents of\nthe created file.\n\n### Details\n\nTested setuptools commit:\n\n`6ead555c5fb29bc57fe6105b1bffc163f56fd558`\n\nRelevant source:\n\n`setuptools/wheel.py`\n\nSHA-256:\n\n`359b7e0d5dd8c3135653abe08a8ed5dc0352eadfd7df22cb5e2b5303b7c3cafd`\n\nThe relevant call path is:\n\n`Wheel(wheel_path).install_as_egg(destination)`\n→ `_install_as_egg`\n→ `_convert_metadata`\n→ `_fix_namespace_packages`\n\nA wheel can provide attacker-controlled content in:\n\n`<distribution>.dist-info/namespace_packages.txt`\n\nThe namespace value is eventually used approximately as:\n\n```python\nmod_dir = os.path.join(destination_eggdir, *mod.split('.'))\nmod_init = os.path.join(mod_dir, '__init__.py')\n\nIf mod is a Windows drive-qualified absolute path containing no dots,\nmod.split('.') preserves it as a single component.\nOn Windows, os.path.join(destination_eggdir, absolute_component) discards\nthe original base directory and resolves to the attacker-supplied absolute\npath.\nThe existing wheel filename and ZIP traversal checks do not validate this\nmetadata value before it is subsequently interpreted as a filesystem path.\n\n```markdown\n### PoC\n\nThe reproduction was performed entirely inside a disposable temporary\ndirectory.\n\nLayout:\n\n```text\nsandbox/\n destination/\n outside/\n input/\n canary.txt\n```\n\nA synthetic wheel was created containing:\n\n`demo_pkg-1.0.dist-info/namespace_packages.txt`\n\nwhose content was the absolute path of:\n\n`sandbox\\outside`\n\nThe real acquired setuptools implementation was then invoked:\n\n```python\nsetuptools.wheel.Wheel(synthetic_wheel).install_as_egg(\n sandbox_destination\n)\n```\n\nThe operation completed without exception.\n\nExpected metadata was created under:\n\n`sandbox\\destination\\EGG-INFO`\n\nbut setuptools also created:\n\n`sandbox\\outside\\__init__.py`\n\nThe file did not exist before execution.\n\nIts contents were:\n\n```python\n__import__('pkg_resources').declare_namespace(__name__)\n```\n\nThe unrelated canary remained byte-identical.\n\nThe sandbox was deleted after recording the evidence.\n```\n\n\n### Impact\n\nA crafted wheel can cause setuptools to create a fixed-content\n`__init__.py` outside the intended installation directory at a\nfilesystem path influenced by the wheel, with the permissions of the\nprocess performing the installation.\n\nThe demonstrated reproduction required the target parent directory to\nalready exist.",
The reason will be displayed to describe this comment to others. Learn more.
Minor · Functional Correctness · Quick win
Supported by static analysis
Script executed:
sed -n '45,60p' advisories/BREW-dnsviz-GHSA-xmj3-9gf7-h52w.json
rg -n 'details|upstream|verbatim|generated|render' CONTRIBUTING.md README.md
Repository: Homebrew/advisory-database
Length of output: 15678
Close the unmatched Markdown fences in the details field.
The first fence, ```python, is not closed after the mod_init line. The ```markdown line cannot close it, because a closing fence cannot carry an info string. The PoC start therefore renders as Python code until the layout block's closing fence. The bare fence after "The sandbox was deleted after recording the evidence." then opens a new block that runs to the end of the text, so the ### Impact section renders as code.
The fix below closes the Python block after the code, removes the markdown opener, and removes the stray final fence. In the JSON details string, apply the same edits to the \n-escaped text.
🐛 Suggested fix
mod_init = os.path.join(mod_dir, '__init__.py')
+```
If mod is a Windows drive-qualified absolute path containing no dots,
The existing wheel filename and ZIP traversal checks do not validate this
metadata value before it is subsequently interpreted as a filesystem path.
-```markdown
### PoC
The sandbox was deleted after recording the evidence.
-```
### Impact
details is copied from the upstream OSV record (README.md:9). If the upstream GHSA text contains the same fences, correct it upstream too. Otherwise a later refresh may restore the malformed fences.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
The reason will be displayed to describe this comment to others. Learn more.
Major · Data Integrity & Integration · Quick win
Supported by static analysis
Script executed:
python - <<'PY'import io, json, tarfile, urllib.requesturl = "https://pypi.org/pypi/aider-chat/0.86.2/json"with urllib.request.urlopen(url) as response: metadata = json.load(response)sdist = next(item["url"] for item in metadata["urls"] if item["packagetype"] == "sdist")with urllib.request.urlopen(sdist) as response: archive = tarfile.open(fileobj=io.BytesIO(response.read()), mode="r:gz") for member in archive.getmembers(): if member.isfile() and member.name.endswith(".py"): text = archive.extractfile(member).read().decode("utf-8", "replace") for number, line in enumerate(text.splitlines(), 1): if any(term in line for term in ("litellm.proxy", "proxy_server", "uvicorn")): print(f"{member.name}:{number}: {line.strip()}")PY
Repository: Homebrew/advisory-database
Length of output: 164
Script executed:
set -u
printf'%s\n''--- advisory ---'
nl -ba advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
printf'%s\n''--- diff from merge base ---'
git diff --stat 75092d1f213c88ab880617ed8dd3ad030e3f7416 0924dc94bb2a15e7e8f5acfa5d82a1b64933b209 -- advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
git diff -- 75092d1f213c88ab880617ed8dd3ad030e3f7416 0924dc94bb2a15e7e8f5acfa5d82a1b64933b209 -- advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
printf'%s\n''--- package metadata and archive contents ---'
python3 - <<'PY'import io, json, tarfile, zipfile, urllib.requestdef get(url): with urllib.request.urlopen(url, timeout=30) as r: return r.read()for project, version in [('aider-chat','0.86.2'), ('litellm','1.81.10')]: data = json.loads(get(f'https://pypi.org/pypi/{project}/{version}/json')) print(f'[{project} {version}]') print('requires_dist:') for item in data['info'].get('requires_dist') or []: if 'litellm' in item.lower() or project == 'litellm': print(item) for item in data['info'].get('classifiers') or []: if 'Python' in item: pass for item in data['urls']: if item['packagetype'] in ('sdist','bdist_wheel'): print('file', item['filename'], item['packagetype'], item['url']) for item in data['urls']: if item['packagetype'] == 'bdist_wheel': raw = get(item['url']) z = zipfile.ZipFile(io.BytesIO(raw)) names = z.namelist() print('entry_points:', [n for n in names if 'entry_points' in n]) for name in names: if name.endswith(('.dist-info/entry_points.txt','/entry_points.txt')): print(z.read(name).decode('utf-8','replace')) hits = [n for n in names if any(x in n.lower() for x in ('proxy','litellm'))] print('archive hits:', hits[:80]) breakPY
Repository: Homebrew/advisory-database
Length of output: 10657
Script executed:
python3 - <<'PY'import io, json, urllib.request, zipfiledef get(url): with urllib.request.urlopen(url, timeout=30) as r: return r.read()meta = json.loads(get('https://pypi.org/pypi/litellm/1.81.10/json'))wheel = next(x for x in meta['urls'] if x['packagetype'] == 'bdist_wheel')z = zipfile.ZipFile(io.BytesIO(get(wheel['url'])))names = z.namelist()wanted = [ 'litellm/__init__.py', 'litellm/__main__.py', 'litellm/proxy/client/cli.py', 'litellm/proxy/proxy_server.py', 'litellm/proxy/management_endpoints/ui_sso.py',]for name in wanted: print(f'--- {name} ---') if name not in names: print('MISSING') continue text = z.read(name).decode('utf-8', 'replace').splitlines() for i, line in enumerate(text, 1): if (name.endswith('__init__.py') or name.endswith('__main__.py')) and i > 260: break if name.endswith('cli.py') and i > 220: break if name.endswith('proxy_server.py') and i > 220: break if name.endswith('ui_sso.py') and i > 180: break print(f'{i:4} {line}')print('--- proxy-related files ---')for n in names: if n.startswith('litellm/proxy/') and n.endswith('.py') and any(k in n for k in ('proxy_server','cli','utils','transform_request')): print(n)PYprintf'%s\n''--- action metadata candidates ---'
rg -n -F --glob '*.yml' --glob '*.yaml' --glob '*.json' -e '40657111712' -e 'homebrew-core' -e 'aider'.||test"$?" -eq 1
Repository: Homebrew/advisory-database
Length of output: 41461
Check that the Homebrew package installs LiteLLM’s proxy dependencies.
Aider 0.86.2 requires litellm==1.81.10, but not litellm[proxy]. In LiteLLM 1.81.10, litellm.proxy.proxy_server imports proxy-only dependencies and raises an ImportError that directs users to install litellm[proxy] when they are absent. Unless the Aider formula installs those dependencies separately, the default keg cannot start the affected proxy endpoints and this match may produce a false alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated candidates via
brew advisory-match --formula-list (planned workers) --new-history, sharded by formula (SHA-256 bucket2b). See CONTRIBUTING.md for the review checklist.Partial daily run: successful buckets only; the older standing PR may overlap.
Run and review artifacts: https://github.com/Homebrew/advisory-database/actions/runs/40842477066